package com.zhouyer.study.service;

import com.zhouyer.study.dto.UserDTO;

import javax.servlet.http.HttpServletResponse;

/**
 * 用户相关服务接口
 *
 * @author zhouyao
 * @version 1.0
 * @date 2021/12/7 11:41 上午
 */
public interface UserService {
    /**
     * 用户注册
     *
     * @param response 响应对象
     * @param userDTO  用户注册相关信息
     * @return java.lang.Integer （0:注册成功，-1：注册失败，1：用户已注册，2：验证码错误，3：验证码超时）
     * @author zhouyao
     */
    Integer register(HttpServletResponse response, UserDTO userDTO);

    /**
     * 是否已注册，根据邮箱判断,true代表已经注册过，false代表尚未注册
     *
     * @param email 邮箱地址
     * @return java.lang.Boolean
     * @author zhouyao
     */
    Boolean isRegistered(String email);

    /**
     * 登录接⼝
     *
     * @param response 响应对象
     * @param email    邮箱地址
     * @param pwd      密码
     * @return java.lang.String
     * @author zhouyao
     */
    String login(HttpServletResponse response, String email, String pwd);

    /**
     * 根据token查询用户登录邮箱地址
     *
     * @param token 令牌
     * @return java.lang.String
     * @author zhouyao
     */
    String findEmailByToken(String token);
}
